Fractional Matching Via Balls-and-Bins
نویسندگان
چکیده
In this paper we relate the problem of finding structures related to perfect matchings in bipartite graphs to a stochastic process similar to throwing balls into bins. Given a bipartite graph with n nodes on each side, we view each node on the left as having balls that it can throw into nodes on the right (bins) to which it is adjacent. If each node on the left throws exactly one ball and each bin on the right gets exactly one ball, then the edges represented by the ball-placement form a perfect matching. Further, if each thrower is allowed to throw a large but equal number of balls, and each bin on the right receives an equal number of balls, then the set of ball-placements corresponds to a perfect fractional matching – a weighted subgraph on all nodes with nonnegative weights on edges so that the total weight incident at each node is 1. We show that several simple algorithms based on throwing balls into bins deliver a near-perfect fractional matching. For example, we show that by iteratively picking a random node on the left and throwing a ball into its least-loaded neighbor, the distribution of balls obtained is no worse than randomly throwing kn balls into n bins. Another algorithm is based on the d-choice load-balancing of balls and bins. By picking a constant number of nodes on the left and appropriately inserting a ball into the least-loaded of their neighbors, we achieve a smoother load distribution on both sides – maximum load is at most log log n/ log d + O(1). When each vertex on the left throws k balls, we obtain an algorithm that achieves a load within k ± 1 on the right vertices.
منابع مشابه
Balls into Bins Made Faster
Balls-into-bins games describe in an abstract setting several multiple-choice scenarios, and allow for a systematic and unified theoretical treatment. In the process that we consider, there are n bins, initially empty, and m = bcnc balls. Each ball chooses independently and uniformly at random k ≥ 3 bins. We are looking for an allocation such that each ball is placed into one of its chosen bins...
متن کاملBalls-in-bins with feedback and Brownian Motion
In a balls-in-bins process with feedback, balls are sequentially thrown into bins so that the probability that a bin with n balls obtains the next ball is proportional to f(n) for some function f . A commonly studied case where there are two bins and f(n) = n for p > 0, and our goal is to study the fine behavior of this process with two bins and a large initial number t of balls. Perhaps surpri...
متن کاملBalanced Allocations: Balls-into-Bins Revisited and Chains-into-Bins
The study of balls-into-bins games or occupancy problems has a long history since these processes can be used to translate realistic problems into mathematical ones in a natural way. In general, the goal of a balls-into-bins game is to allocate a set of independent objects (tasks, jobs, balls) to a set of resources (servers, bins, urns) and, thereby, to minimize the maximum load. In this paper ...
متن کاملLecture 3: Counting
Example 3. How many ways are there to put m balls into n bins. Assume m ≤ n. 1. Balls are distinct and bins are distinct. Every ball has n choices. Hence n. Exercise 2. Why is the answer not m by looking at the opposite argument. 2. Balls are not distinct but bins are distinct. Take m identical balls and n− 1 identical sticks and permute them. Every permutation gives a different arrangement. So...
متن کاملMultiple-Choice Balanced Allocation in (Almost) Parallel
We consider the problem of resource allocation in a parallel environment where new incoming resources are arriving online in groups or batches. We study this scenario in an abstract framework of allocating balls into bins. We revisit the allocation algorithm GREEDY[2] due to Azar, Broder, Karlin, and Upfal (SIAM J. Comput. 1999), in which, for sequentially arriving balls, each ball chooses two ...
متن کامل